#ifndef GAMEOVERSTATE_H
#define GAMEOVERSTATE_H

#include "GameState.h"
#include <graphics/sprite_renderer.h>
#include <graphics/font.h>
#include <input/sony_controller_input_manager.h>
#include "system\platform.h"

class GameOverState : public GameState
{
public:
	GameOverState(const abfw::Platform& platform);
	
	~GameOverState();

	GameStates::State Update();
	
	void SetPlayerScore(int value);
	void Draw2D(abfw::SpriteRenderer* render, abfw::Matrix44 Projection) ;
	void Draw3D(abfw::Renderer3D* render, abfw::Colour defaultColour);
	
	static GameState* Instance() {
		return &mGameOverState;
	}


private:
	int mFinalScore;
	static GameOverState mGameOverState;
	abfw::Font* mFont;

	abfw::SonyControllerInputManager* mInputManager;
};

#endif